﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using KandaAlpha.Domain.Model.Proposed.ValueObjects;
using KandaAlpha.Domain.Model.Proposed.Interfaces;

namespace KandaAlpha.Domain.Model.Proposed.Entities
{
    public abstract class Classifier : EntityBase, IHierarchical<Classifier>
    {
        public string ClassifierRef { get; set; }
        public Classifier Parent { get; set; }
        public List<Classifier> Children { get; set; }
        public Classifier Family { get; set; }
        public string ClassifierName { get; set; }
        public string ClassifierDescription { get; set; }
        public int SortOrder { get; set; }
        public int Depth { get; set; }

        //TODO  GetAncestors, GetDescendents, etc.

    }
}
